package cn.nebula.music.service;

import java.sql.Date;
import java.sql.Time;
import java.util.List;
import java.util.Set;

import cn.nebula.music.domain.Song;

public interface SongService {
	public Set<Song> findAllSongs() throws Exception;

	public Set<Song> findAllSongsOfBT() throws Exception;

	public Song findSongById(Integer id) throws Exception;

	public Set<Song> findSongsByName(String name) throws Exception;

	public Song findSongByResourcepath(String resourcepath) throws Exception;

	public Set<Song> findSongsByDuration(Time duration) throws Exception;

	public Set<Song> findSongsByLanguage(String language) throws Exception;

	public Set<Song> findSongsByPublishtime(Date publishtime) throws Exception;

	public Set<Song> findSongsByHeat(Integer heat) throws Exception;

	public Song findSongByMv(Integer mvId) throws Exception;

	public List<Song> findNewSongs() throws Exception;

	public List<Song> findHotSongs() throws Exception;

	public List<Song> findHot4Songs() throws Exception;

	public void addSong(Song song) throws Exception;

	public void updateSong(Song song) throws Exception;

	public void deleteSongById(Integer id) throws Exception;
}
